﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace StyleMVVM.ViewModel
{
	/// <summary>
	/// This interface is similar to ICommand only it passes the sender, args, and parameter
	/// it can't be used in Command="{Binding }" statements but rather with
	/// the AttachedEventCommand class
	/// </summary>
	public interface IEventCommand
	{
		/// <summary>
		/// Execute the command with the sender, args, and parameter
		/// </summary>
		/// <param name="sender">the event sender</param>
		/// <param name="args">event args</param>
		/// <param name="parameter">the bound parameter in AttachedEventCommand</param>
		void Execute(object sender, object args, object parameter);
	}
}